Inside 2 by Arise
MNOPQRSTUVWPXYZ[/]^PP_ ! - QQQQQQQQQQQQQQQQ -
- OLAX - MORRIS/AGONY!- - - - - - - - - - - WELCOME TO "INSIDE II", MY CONTRIBUTION TO SILE5IA PARTY 5, HELD IN BEDZIN/PL, 21-23 OCTOBER 2011. IT IS A SEQUEL TO "INSIDE", A DENTRO RELEASED BACK IN 1997 AT NORTH PARTY IN BARTOSZYCE. ON THE NEXT PAGES YOU'LL FIND A LOT OF USELESS INFO ABOUT THIS RELEASE. ENJOY. - THE IDEA BEHIND THIS DENTRO WAS TO PACK AS MANY INTERESTING ANIMATION ROUTINES IN ONE FILE AS POSSIBLE. NOT FOCUSING ON ONE KICK-ASS, ULTRA-EFFICIENT ALGO, BY INSTEAD TRY TO MAKE IT VARIED (CONCEPTUALLY) AND ENTERTAINING AT THE SAME TIME. I ALSO UTILIZED OTHER CONCEPTS, SOME OF WHICH ARE PRETTY OBVIOUS AND POPULAR, AND OTHERS NOT SO MUCH :) SO, CHRONOLOGICALLY, WHEN WATCHING THE DEMO, THE FIRST ONE IS ALREADY USED WHEN DECRUNCHING. WHEN TALKING ABOUT IT I USE THE NAME "SELF-CONTAINED GRAPHICS"WHICH TO ME IS DESCRIPTIVE ENOUGH. IT IS A WAY OF OPTIMIZING GRAPHICS FOR C64 TAKING INTO ACCOUNT HOW VIC HANDLES MEMORY BANKS AND DATA LOCATIONS. THE DEPACKING SCREEN IS A VERY GOOD EXAMPLE BECAUSE IT HAS TO BE MEMORY EFFICIENT. IN WORST CASE SCENARIO, TO HAVE A NICE DEPACKING SCREEN LIKE THIS, YOU WOULD NEED 1000 BYTES FOR THE TEXT SCREEN MEM AND (MAXIMUM) 2048 BYTES FOR CHARS. YET,HERE AFTER YOU START THE DEMO, EVERYTHING UNPACKS INTO 0800-FFFF, SO THERE IS NO MEMORY FOR THAT. ORGANIZING THE GRAPHICS IN A SMART WAY, HERE I NEEDED ONLY 1000 BYTES TO HAVE EVERYTHING: SCREEN AND CHARS. THE VIC POINTERS ARE SET FOR SCREEN AND FOR THE CHARS TO THE SAME LOCATION, WHICH IS 0400 (OK, CHARS AT 0000 IN REALITY). IF YOU LOOK AT A TEXT SCREEN, THE SCREEN MAP IS NEEDED ONLY FOR THE MIDDLE 9 LINES, THE REST IS USED FOR CHAR SHAPES,WHICH YOU CANNOT SEE BECAUSE THEY ARE BLACK ON BLACK. SO WE HAVE SOMETHING TO LOOK AT WHILE DECRUNCHING, YET DO NOT HAVE TO CARE, WHATEVER MEMORY MAYHEM HAPPENS IN 0800-FFFF. SIMPLE AND EFFECTIVE, AND IT IS USED ALSO FOR DECRUNCH SCREENS IN THE COURSE OF THE DENTRO. THE FIRST ANIMATION FEATURED IN THIS DEMO IS THE DOVE ANIMATION. IT IS 47 FRAMES LONG, WHICH ARE NICELY FIT INTO JUST 2000 HEX OF MEMORY. AS YOU CAN CLEARLY SEE, IT IS A CHAR BASED, PSYCHOVISUAL COMPRESSION, WHICH IS ADDITIONALLY EQUIPPED WITH A REALTIME RLE UNPACKING. THIS IS A FIRST RLE PACKED ANIMATION I HAVE EVER DONE, SO IT COULD BE EASILY VASTLY IMPROVED. YET, SINCE I WAS PLANNING TO SOMEHOW PORT THIS DOVE ANIM TO COMMODORE SINCE AROUND 1996 WHEN I FIRST SAW IT :) I CONSIDER THE RESULT QUITE SATISFACTORY. OF COURSE, RLE PACKING LIKE THIS WORKS EFFICIENTLY ONLY WITH SPECIFIC ANIMS. IT IS NOT AS UNIVERSAL. BUT THIS ONE WAS ALMOST IDEAL FOR THAT CONCEPT. BY THE WAY, OF COURSE FRAME-SIMPLIFYING AND RLE PACKING WAS DONE BY MY OWN SELF-CREATED TOOLS. WHEN WORKING WITH THIS DEMO I CREATED A LOT OF OWN QUICK TOOLS TO CLEAN UP AND OPTIMIZE THE DATA,ESPECIALLY THE GRAPHICS. AFTER THE DOVE ANIM, WE HAVE ONE OF THE MOST COMPLICATED PIECES OF CODE I HAVE CREATED SO FAR :) THE DEFORM ANIMATION. WHAT YOU SEE HERE (AND YOU MIGHT NOT REALIZE THAT WHEN WATCHING) IS 8 HIRES BITMAPS SCREENS. NOW, A HIRES SCREEN TAKES 8KB OF MEMORY, SO 8 TIMES 8KB EQUALS 64KB. THOSE ARE NOT CHARS, MIND YOU! ALSO, THERE ARE 2 AREAS IN MEMORY WHERE MY FAVOURITE PROBLEM OF VIC SEEINGONLY THE ROM-CHARS APPEARS. NOT TO MENTION THAT WE ALSO NEED 1000 HEX FOR MUSIC, SOME MORE FOR SPRITES IN THE OPEN TOP AND BOTTOM BORDERS, AND... THE REST OF THE DAMN DENTRO :) HERE ALSO A CONCEPT OF "SELF-CONTAINED GRAPHICS" PLAYS A BIG PART. ONE OF THE BIGGER PROBLEMS IS STORING COLOR DATA FOR THE SHOWN BITMAP. THIS IS A VERY TIGHTLY TIMED ROUTINE, WITH A LOT OF SWITCHING AT PROPER RASTERLINES, AND DATA BEING QUICKLY MOVED AROUND IN THE BACKGROUND. THE RESULTING CODE IS CAPABLE OF DISPLAYING THE FRAMES IN ANY ORDER, COLOUR AND FRAMERATE, ONE-FRAME INCLUDED. HERE I SHOULD MENTION BIMBER AND HIS SUPPORT WITH THIS ROUTINE, WHICH INCLUDES RE-TOUCHING OF THE ORIGINAL BITMAPS AND CREATING A LOT OF COLOUR ANDFRAME TABLES, WHICH I THEN INCLUDED TO CREATE THE FINAL MOVEMENTS. LAST ANIMATION (WHICH BY THE WAY WAS THE FIRST ONE I DEVELOPED FOR THIS DEMO)IS THE GIANT/ROBOT. THIS ROUTINE IS USING A HIRES/CHARS ANIMATION BUILD FROM 32 FRAMES, WHICH IS THEN REPLICATED ON THE SCREEN THREE TIMES. EACH ONE OF THE THREE ROBOTS ON THE SCREEN IS INDEPENDENT FROM THE OTHER, YOU CAN SEE THEM WALKING WITH DIFFERENT SPEEDS OR DIRECTIONS. TO BE ABLE TO DO THIS I NEEDED TO HAVE THE FRAMES VERY CAREFULLY PROCESSED. THIS INVOLVED A LOT OF TIME AND RETOUCHING THE FRAMES BY HAND IN TIMANTHES, BEFORE I REACHED THE EXPECTED RESULT. NEEDLES TO SAY, THIS IS AGAIN SOMETHING COMPLETELY DIFFERENT, CODEWISE, THAN THE OTHER TWO ANIMATIONS. I CALLED THIS "THE OFFSET ANIMATION", SINCE THE FIRST AND ORIGINAL IDEA FOR THE EFFECT WAS TO HAVE THREE ROBOTS, EACH NEXT ONE OFFSET BY 2-3 FRAMES FROM THE PREVIOUS. OH, BY THE WAY, I FORGOT THAT IN ALL THREE ANIMATION ROUTINES, THERE ARE BUFFERS. THERE'S LITERALLY NOTHING THAT I HATE MORE THAN UPDATING BUGS. IF YOU'RE GOING TO DO ANIMATIONS, DO THEM PROPERLY OR DON'T DO THEM AT ALL. I THINK THAT'S ALL I WANTED TO WRITE HERE ABOUT THE CODE. ALL IN ALL I HAD LOTS OF FUN PUTTING THOSE IDEAS TO LIFE. - NOT MUCH TO SAY ABOUT THE GRAPHICS. THE NICE BIG FONT IS BASED ON ARIAL BLACK, OF COURSE. ALSO HAND RETOUCHED IN ORDER TO CONTAIN IT ALL IN ONE CHAR BANK. THE TITLE SCREEN, DONE BY ME, FEATURING A SKULL (AS USUAL :) STYLED SIMILARILY TO "HIRES AND DIE". OF COURSE IT IS IN HIRES, THE ULTIMATE GFX MODE :) AND WE HAVE ALSO A SMALL "RELEASE DOVE" GRAPH, BUT IS SO SIMPLE IT'S NOT EVEN WORTH MENTIONING. - IN THE SAME WAY IT WAS DONE IN THE FIRST INSTALLMENT, THE MUSIC IS A CUT UP VERSION OF ONE TRACK, THIS TIME "MY KINGDOM (REMIX)", WITH SOME ADDITIONAL SOUNDS IN THE MIDDLE, AND NICE LOW SUBS IN THE ENDPART. IF YOU LISTEN ON CRAPPY AUDIO EQUIPMENT WITH NO PROPER BASS RESPONSE (LIKE A DAMN LAPTOP SPEAKER) YOU MIGHT EVEN THINK THE END FEATURES NO MUSIC :) THE SOUNDTRACK IS OF COURSE 8580R5 COMPATIBLE, I HAVE NO IDEA HOW HORRIBLY IT SOUNDS ON THE OLD SID. I CAN ONLY IMAGINE :) THE WEAPON OF CHOICE: GMC 1.0W. - WE ARE FOREVER (TM) SINCE 1998. WE TASTE MEMORIES. WE STAND ON OUR OWN. WE ARE NOT ASLEEP AT THE WHEEL. WE NEED MORE FROM LIFE THAN THIS. WE ARE THE HAND THAT HOLDS THE DAGGER. WE SHATTER THE LIES. WE LOVE TO HATE. WE HATE TO LOVE. WE ARE ONE. - I DON'T KNOW. SHOULD THERE BE ANY? AFTER WRITING EVERYTHING THAT WORKED OUT, MAYBE I SHOULD WRITE ABOUT THINGS THAT DID NOT WORK OUT. I HAD A CONCEPT FOR AN AWESOME GREETINGS PART, BUT RUN OUT OF MEMORY. ALSO, AT SOME POINT I ASSESSED THAT IT WOULD UNBALANCE THE DEMO FLOW. MAYBE SOME OTHER TIME. WE GREET THE ONES THAT KEEP THIS SCENE ALIVE. SOME OF THEM STILL REMEMBER THAT WE EXIST :) RESPECTS TO YA'LL. I CARE ENOUGH TO SAY THINGS YOU MIGHT NOT LIKE. I HONESTLY HATE THE RECENT TREND OF INFANTILIZING C64 DEMOS. WE AREFUCKING ADULTS. STOP WITH THIS SHIT. FOR ANY REASONS, - OR REACH ME ON CSDB, THE PLACE TO BE :) WACKEE/ARISE, PABIANICE, 11.9.11 - - CODE: MORRIS / MUSIC: CANE / FONT: TSL - - -